
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[EBAS_SP_FIND_STUDERENDE]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[EBAS_SP_FIND_STUDERENDE]
GO

SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS OFF 
GO

CREATE PROCEDURE [DBO].[EBAS_SP_FIND_STUDERENDE] 
	@session varchar(255),
	@cpr varchar(50) = '%',
	@fornavn varchar(255) = '%',
	@efternavn varchar(255) = '%',
	@titel varchar(255) = '%',
	@skoleId varchar(255) = '%',
	@skoleDato varchar(50) = '%',
	@okDato varchar(50) = '%',
	@bem varchar(255) = '%',
	@uddan varchar(255) = '%',
	@status varchar(255) = '%',
	@ident varchar(255) = '%',
	@bruger varchar(255) = '%'
WITH ENCRYPTION	
AS
	DECLARE @rettighed int
	
	SET NOCOUNT ON

	CREATE TABLE #temp ( rett int )
	INSERT INTO #temp (rett)
	EXEC EBAS.DBO.EBAS_SP_SIKKERHED_VERIFICER_SESSION @session	

	SET @rettighed = (SELECT IsNull(max(rett),0) FROM #temp)

	IF 4 <= @rettighed
	BEGIN
		IF @bruger <> '%'
			SELECT 	S.GUID, S.INIT, S.CPR_NR, S.FORNAVN, S.EFTERNAVN, S.TITEL, S.SKOLE_ID,
				S.SKOLE_DATO, S.OK_DATO, S.BEMAERKNING, S.UDDANNELSE, 
				ST.STATUS, IDEN.IDENTIFIKATION, B.BRUGERNAVN
			FROM 	EBAS_STUDERENDE S, EBAS_STATUS ST, EBAS_IDENTIFIKATION IDEN, 
				EBAS_SIKKERHED_BRUGER B
			WHERE	S.CPR_NR LIKE @cpr + '%'
			AND	S.FORNAVN LIKE @fornavn + '%'
			AND	S.EFTERNAVN LIKE @efternavn + '%'
			AND	S.TITEL LIKE @titel + '%'
			AND	S.SKOLE_ID LIKE @skoleId + '%'
			AND	S.SKOLE_DATO LIKE @skoleDato + '%'
			AND	S.OK_DATO LIKE @okDato + '%'
			AND	S.BEMAERKNING LIKE @bem + '%'
			AND	S.UDDANNELSE LIKE @uddan + '%'		
			AND	S.IDENTIFIKATION_GUID = IDEN.GUID
			AND	IDEN.IDENTIFIKATION LIKE @ident + '%'
			AND	S.SIKKERHED_BRUGER_GUID = B.GUID
			AND	B.BRUGERNAVN LIKE @bruger + '%'
			AND	S.STATUS_GUID = ST.GUID
			AND	ST.STATUS LIKE @status + '%'
		ELSE
			SELECT 	S.GUID, S.INIT, S.CPR_NR, S.FORNAVN, S.EFTERNAVN, S.TITEL, S.SKOLE_ID,
				S.SKOLE_DATO, S.OK_DATO, S.BEMAERKNING, S.UDDANNELSE, 
				ST.STATUS, IDEN.IDENTIFIKATION, '' AS BRUGERNAVN
			FROM 	EBAS_STUDERENDE S, EBAS_STATUS ST, EBAS_IDENTIFIKATION IDEN
			WHERE	S.CPR_NR LIKE @cpr + '%'
			AND	S.FORNAVN LIKE @fornavn + '%'
			AND	S.EFTERNAVN LIKE @efternavn + '%'
			AND	S.TITEL LIKE @titel + '%'
			AND	S.SKOLE_ID LIKE @skoleId + '%'
			AND	S.SKOLE_DATO LIKE @skoleDato + '%'
			AND	S.OK_DATO LIKE @okDato + '%'
			AND	S.BEMAERKNING LIKE @bem + '%'
			AND	S.UDDANNELSE LIKE @uddan + '%'		
			AND	S.IDENTIFIKATION_GUID = IDEN.GUID
			AND	IDEN.IDENTIFIKATION LIKE @ident + '%'
			AND	S.STATUS_GUID = ST.GUID
			AND	ST.STATUS LIKE @status + '%'
	END
	ELSE
			SELECT 	S.GUID, S.INIT, S.CPR_NR, S.FORNAVN, S.EFTERNAVN, S.TITEL, S.SKOLE_ID,
				S.SKOLE_DATO, S.OK_DATO, S.BEMAERKNING, S.UDDANNELSE, 
				ST.STATUS, IDEN.IDENTIFIKATION, '' AS BRUGERNAVN
			FROM 	EBAS_STUDERENDE S, EBAS_STATUS ST, EBAS_IDENTIFIKATION IDEN
			WHERE	S.IDENTIFIKATION_GUID = IDEN.GUID
			AND	S.STATUS_GUID = ST.GUID
			AND	S.GUID = NULL
GO

SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO
